Skip to content

feat(ssh): remote file browser with SFTP support#211

Merged
bobleer merged 1 commit intoGCWing:mainfrom
bobleer:feature/ssh-remote-file-browser
Mar 21, 2026
Merged

feat(ssh): remote file browser with SFTP support#211
bobleer merged 1 commit intoGCWing:mainfrom
bobleer:feature/ssh-remote-file-browser

Conversation

@bobleer
Copy link
Collaborator

@bobleer bobleer commented Mar 21, 2026

Summary

Remote SSH workspace flow: browse/select remote directory, SFTP-backed file tree in the app, and explicit upload / download for both remote and local workspaces from the main file explorer.

Changes

  • SSH remote file browser (modal): list, rename, delete; toolbar upload/download to/from local disk via SFTP.
  • Main file explorer (local + remote workspaces):
    • Context menu Download (save copy elsewhere): remote uses SFTP read to path; local uses export_local_file_to_path (std::fs::copy).
    • Drag-and-drop upload onto the tree: getCurrentWebview().onDragDropEvent, coordinate fallbacks, remote_upload_from_local_path or local copy.
  • Desktop: remote_download_to_local_path, remote_upload_from_local_path, export_local_file_to_path; re-enable native file drop (removed disable_drag_drop_handler).
  • Files panel: transfer progress bar (per-file / indeterminate for single file); i18n (en-US / zh-CN).

Notes

  • Byte-level SFTP progress is not streamed; multi-file progress is by file count.

Made with Cursor

…ad/download

- SSH remote: connection dialog, remote file browser (list/rename/delete), NavPanel/workspace integration
- SFTP: remote_download_to_local_path, remote_upload_from_local_path; core remote_fs tweaks
- File explorer: Download in context menu; drag-drop upload via getCurrentWebview; progress bar; export_local_file_to_path for local copy
- Desktop: enable native file drop (remove webview disable_drag_drop_handler); register new commands
- RemoteFileBrowser toolbar transfer; Modal/WorkspaceItem/RevealInExplorer updates; i18n en/zh
- Welcome panel: narrative row alignment with workspace inline controls

Made-with: Cursor
@bobleer bobleer force-pushed the feature/ssh-remote-file-browser branch from 13d8850 to 14556d2 Compare March 21, 2026 10:34
@bobleer bobleer merged commit f8c3678 into GCWing:main Mar 21, 2026
4 checks passed
@bobleer bobleer deleted the feature/ssh-remote-file-browser branch March 22, 2026 09:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant